package com.kmxd.ams.infra.arrange.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kmxd.ams.core.common.annotation.DataScope;
import com.kmxd.ams.core.common.enums.DataScopeTypeEnum;
import com.kmxd.ams.infra.arrange.entity.Project;
import java.util.List;
import java.util.Set;

/**
 * 项目级 Mapper 接口
 *
 * @author ZuoLG
 * @since 2022-07-20
 */
public interface ProjectMapper extends BaseMapper<Project> {

  /**
   * 获取删除的分页数据
   *
   * @param page
   * @param tableId
   * @return
   */
  @DataScope(type = DataScopeTypeEnum.ARCHIVES)
  Page<Project> selectDelByPage(Page<Project> page, String tableId);

  /**
   * 恢复数据
   *
   * @param tableId
   * @param ids
   */
  void recoveryData(String tableId, Set<Long> ids);

  /**
   * 真删除
   *
   * @param tableId
   * @param ids
   */
  void deletion(String tableId, List<Long> ids);
}
